package org.jeecg.modules.online.cgform.enhance.impl;

import java.util.Map;

import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.modules.online.cgform.enhance.CgformEnhanceJavaInter;
import org.jeecg.modules.online.cgform.util.CgformUtil;
import org.jeecg.modules.online.config.exception.BusinessException;
import org.springframework.stereotype.Component;

import com.alibaba.fastjson.JSONObject;

/**
* @Description: Online JAVA增强示例
* @author: scott
* @date: 2020/4/12 19:19
*/
@Slf4j
@Component("cgformEnhanceBeanDemo")
public class CgformEnhanceBeanDemo implements CgformEnhanceJavaInter{

	@Override
	public int execute(String tableName, JSONObject json) throws BusinessException {
		log.info("--------我是自定义java增强测试bean-----------");

		/**
		 * 业务场景一： 获取提交表单数据，进行其他业务关联操作
		 * （比如： 根据入库单，同步更改库存）
		 */
		log.info("--------当前表单 tableName=> "+tableName);
		log.info("--------当前表单 JSON数据=> "+json.toJSONString());
		//JSONObject lowerJson = CgformUtil.transLowerCaseMapKey(json);

		/**
		 * 业务场景二： 保存数据之对数据的处理
		 * 直接操作json即可
		 */
		if(json.containsKey("phone")){
			json.put("phone","18611100000");
		}


		/**
		* 业务场景三： 保存数据之前进行数据的校验
		* 通过抛出异常，阻滞后续数据保存操作
		*/
		//if(true){
		//	throw new JeecgBootException("数据校验不通过！");
		//}

		//业务代码
		return CgformUtil.OL_IMPORT_INSERT;
	}

	@Override
	public int execute(String tableName, Map<String, Object> map) throws BusinessException {
		return CgformUtil.OL_IMPORT_INSERT;
	}

}
